1. Field of the Invention
The present invention relates to a control method for carrying out a control operation of a plant by interpolating target data stored corresponding to specific points, which discretely exist in a coordinate space of a predetermined number of dimensions, according to combinations of coordinate values. The present invention also pertains to an image processing apparatus that carries out color correction of input image data by the control method applied thereto.
2. Description of the Related Art
Data interpolation has been adopted to control a variety of apparatuses. The data interpolation technique interpolates a table that stores predetermined data corresponding to discrete coordinates, and specifies data corresponding to a combination of arbitrary coordinates. The data interpolation technique is significantly effective for the data that can not be expressed by functions. Application of the data interpolation has another advantage, that is, reduction of the amount of data stored in a table. The data interpolation technique is applicable to carry out control operations of or more specifically color correction in an image processing apparatus that reads a color original with an image input unit, such as a scanner, and displays or reproduces the image data on an image output unit, such as a CRT, another display, and a color printer.
Image output apparatuses, such as a display and a color printer, have intrinsic color reproduction properties. Some techniques have been proposed to carry out color correction of a color image, which is input, for example, with a scanner, according to the color reproduction properties of the selected image output apparatus, in order to realize favorable color reproduction of the color image. The method described in JAPANESE PATENT LAID-OPEN GAZETTE No. 63-2669 is one of such color correction techniques. This method provides a color correction table corresponding to all the combinations of tones of three colors, red (hereinafter referred to as R), green (hereinafter referred to as G), and blue (hereinafter referred to as B). The color correction table stores the contents of color correction with respect to all the positions in a color space defined by three-dimensional coordinates. The image processing apparatus refers to this color correction table to implement color correction.
This prior color correction method, however, requires the extremely large storage capacity for the color correction table and is thereby not practical. By way of example, when input original color image data have 256 tones (=8 bits) for the respective colors R, G, and B, the number of colors is the third power of 256, which is approximately equal to 16,780 thousand colors. If the data after the color correction are 8-bit data, the storage capacity required for the color correction table is 48 megabyte for the three colors R, G, and B.
In order to reduce the storage capacity required for the color correction table, some proposed image processing methods divide a color space by a predetermined interval and provide color correction data only for lattice points obtained by the division. The techniques described in JAPANESE PATENT LAID-OPEN GAZETTE No. 4-144481 and No. 4-185075 carry out the image processing by data interpolation. These methods carry out interpolation with lattice point data and specify color correction data corresponding to the input image data that are deviated from any lattice points.
By way of example, a concrete procedure of data interpolation is discussed below with color correction data provided for eight lattice points that are present in the vicinity of the input image data in the three-dimensional color space. The eight lattice points represent vertexes of a cube or a lattice division defined by the lattice points adjoining to the input image data. Color correction data of the eight lattice points are expressed as T(a,b,c),T(a+1,b,c),T(a,b+1,c), . . . ,T(a+1,b+1,c+1). Color correction data T corresponding to the input image data are then expressed as: ##EQU1##
where .gamma.a, .gamma.b, and .gamma.c denote weighting coefficients that are determined according to the distances between the input image data and the respective lattice points in the color space. Another method utilizes four lattice points in the vicinity of the input image data for interpolation. This method selects four among the vertexes of the lattice division for interpolation according to the position of the input image data in the lattice division.
This processing does not require the extremely large storage capacity for the color correction table. The interpolation gives color correction data with a relatively small error for each pixel, thereby assuring a favorable resulting image. Because of this advantage of reducing the required storage capacity, the technique of data interpolation is applied to control a variety of apparatuses.
Complicated arithmetic operations are, however, required for carrying out the control operation by the data interpolation technique and specifying data corresponding to a combination of arbitrary coordinates. For example, in the interpolation process with eight lattice points in the vicinity of the input image data, twenty-four multiplications and seven additions are required for interpolation of one color component with respect to each pixel. This means that an extremely large number of arithmetic operations are required for interpolation of all the color components with respect to all the pixels. Data interpolation is frequently repeated in the general image processing, so that the astronomically large number of arithmetic operations are required as a whole.
The contents of the processing for obtaining one piece of data become more complicated with an increase in number of dimensions of the table. By way of example, when the image processing apparatus carries out interpolation of three-dimensional data with four lattice points in the vicinity of the input image data, some conditional jumps are required to select four among the vertexes of the lattice division according to the positional relationship of the input image data. It is here assumed that eight lattice points K, R, G, B, C, M, Y, and W are present in the vicinity of the input image data in the three-dimensional color space of R, G, and B as shown in FIG. 1. The cube defined by these lattice points is divided into six tetrahedrons Tetra0 through Tetra5 shown in FIG. 1. In order to realize the interpolation with four lattice points, it is required to identify which of the six tetrahedrons the input image data belongs to, based on the magnitudes of the R component, the G component, and the B component of the input image data. The concrete procedure of the identification will be discussed later. The processing becomes more complicated with an increase in number of dimensions of the table that is to be interpolated.
Due to the above reason, the data interpolation requires an extremely long processing time. The time required for the image processing increases significantly because of an increase in number of pixels to realize the higher resolution of the output image. Although the processing speed of the CPU has been improved remarkably, this does not improve the image processing speed sufficiently. Such problems arise in a variety of other control operations, to which the data interpolation technique is applied.